package com.zkh.myutils.net.utils;

import java.util.EventObject;

/**
 * 传输事件，用来监听<code>发送命令和接收响应</code>动作
 * @author zkh
 */
public class TransferEvent extends EventObject {
	private static final long serialVersionUID = -2325926145693116828L;
	
	// 响应码
	private Integer replyCode;
    // 命令
    private String command;
    // 消息
    private String message;
	
    /**
     * 构造器
     * @param source 源对象
     * @param command 命令
     * @param message 信息
     */
	public TransferEvent(Object source, String command, String message) {
		super(source);
		this.command = command;
		this.message = message;
	}
	
	/**
	 * 构造器
	 * @param source 源对象
	 * @param replyCode 响应码
	 * @param message 信息
	 */
	public TransferEvent(Object source, int replyCode, String message) {
		super(source);
		this.replyCode = replyCode;
		this.message = message;
	}

	/**
	 * 获取响应码
	 * @return
	 */
	public int getReplyCode() {
		return replyCode;
	}

	/**
	 * 是否是命令
	 * @return
	 */
	public boolean isCommand() {
		return command!=null;
	}
	
	/**
	 * 是否是响应
	 * @return
	 */
	public boolean isReply() {
		return replyCode!=null;
	}
	
	/**
	 * 获取消息
	 * @return
	 */
	public String getMessage() {
		return message;
	}

	/**
	 * 获取命令
	 * @return
	 */
	public String getCommand() {
		return command;
	}

}
